<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    function getData(url) {
      const pro = new Promise((reslove, reject) => {
        // 1.创建 xhr 对象
        let xhr = new XMLHttpRequest()
        // 2. 配置请求方式和地址
        xhr.open('GET', url)
        // 3. 发送请求
        xhr.send()
        // 4.接收结果
        xhr.onreadystatechange = function () {
          if (xhr.readyState !== 4) return
          if (xhr.readyState === 4 && xhr.status === 200) {
            reslove(xhr.responseText)
          } else {
            reject('服务端错误')
          }
        }
      })
      return pro
    }

    var p1 = getData('http://localhost:3000/a1')
    var p2 = getData('http://localhost:3000/a2')
    var p3 = getData('http://localhost:3000/a3')
    // Promise.all()    并发处理多个异步请求，返回每个异步请求的结果,等待所有的异步请求完成，返回结果
    // Pro,mise.race()   并发处理多个异步请求，返回最快请求的那个结果，只要有一个结果执行完成，返回结果

    // Promise.all([p1, p2, p3]).then((result) => {
    //   console.log(result)
    // })


    // Promise.race([p1, p2, p3]).then((result) => {
    //   console.log(result)
    // })





    var p4 = getData('http://localhost:3000/a1')
    var p5 = getData('http://localhost:3000/a2')
    var p6 = getData('http://localhost:3000/a3')

    // Promise.all([p4, p5, p6]).then((data) => {
    //   console.log(data)
    // })

    Promise.race([p4, p5, p6]).then((data) => {
      console.log(data)
    })
  </script>
</body>

</html>